package com.health.healthproject.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * 健康日志实体类
 * 记录用户的健康监测数据及历史信息
 */
@Data
@TableName("health_log")
public class HealthLog {
    @TableId(type = IdType.AUTO)
    private Long id; // 主键ID（自增长）

    private Long userId; // 关联的用户ID（标识该记录所属用户）

    private BigDecimal height; // 身高（单位：厘米/cm，精确到小数点后一位）
    private BigDecimal weight; // 体重（单位：千克/kg，精确到小数点后一位）

    private Integer bloodPressureSystolic;  // 血压收缩压（高压，单位：mmHg）
    private Integer bloodPressureDiastolic; // 血压舒张压（低压，单位：mmHg）
    private BigDecimal bloodSugar; // 血糖值（单位：mmol/L，精确到小数点后一位）

    private String otherDiseases;  // 其他疾病史或异常情况（自由文本描述）
    private String attachments;    // 附件信息（如体检报告图片、PDF等文件路径或标识）
    private String remark;         // 备注信息（补充说明）

    private LocalDate checkDate;   // 健康检查日期（格式：yyyy-MM-dd）

    private Long createUser; // 记录创建人ID（系统用户或操作员）
    private Long updateUser; // 记录最后修改人ID
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime; // 记录创建时间（精确到秒）
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateTime; // 记录最后修改时间
}
